"""
重写：
1、必须存在继承
2、父类的方法满足不了子类，子类需要重写父类的方法
重写的语法：
覆盖重写：把父类的代码完成重新写一遍，子类的代码中之后自己的，没有父类的
扩展重写：保存父类的代码，子类在父类基础上，进行增加
   使用super().重写的父类方法名()
 1、要跟父类的方法名，包括形参要一模一样，里面的代码可以重新写
"""
class Animal:
    def jiao(self):
       print("动物叫唤1")
       print("动物叫唤2")
       print("动物叫唤3")
       print("动物叫唤4")
       print("动物叫唤5")
       print("动物叫唤6")
class Dog(Animal):
    #ctrl+o 快捷键 ---》调出重写的方法
    def jiao(self):
        print("汪汪汪")



class Cat(Animal):
    def jiao(self):
        #第一种   父类的类名.重写的方法名(对象)
        Animal.jiao(self)  #了解
        #第二种方式   super().重写的父类方法名()   推荐大家记忆
        super().jiao()  #简写  python3支持，python2版本不支持
        #第三种方式   super(cls,inst)  获得的是 cls 在 inst 的 MRO 列表中的下一个类
        super(Cat, self).jiao()
        print(Cat.mro())
        print("喵喵喵")

d1=Dog()
d1.jiao()
c1=Cat()
c1.jiao()




